An integrated development environment (IDE), integrated design environment, integrated debugging environment, or interactive development environment is a software application that provides tools for programmers to develop software. For example, an IDE may comprise a source code editor, a compiler or interpreter, a build automation tool, a version control system, a class browser, an object inspector, a class hierarchy diagram browser, a debugger, and the like. In general, an IDE is software that computer programmers use to develop programs or applications. An IDE may contain several sub-windows to display source code and various types of information about a project such as a directory, data types, debug information, and the like. Although an IDE is a Graphical User Interface (GUI), code itself is American Standard Code for Information Interchange (ASCII) text to insure portability across platforms, e.g., Windows and UNIX.
Current IDE tools used to help coders write source code are generally limited to only ASCII characters, so comments and diagrams about the code are generally only approximated using crude ASCII text. Inline comments and documentation are also in ASCII text. Containing only ASCII characters is necessary in order for current compilers to be able to read and compile code across various platforms. FIG. 1 is an illustration of an exemplary code file 100 comprising ASCII character diagram 104 interspersed with source code 102. The ASCII character diagram 104 illustrates characteristics and properties of the source code 102. The ASCII character diagram 104 is a commented field.
IDEs typically present a single program in which all development is done. The single program typically provides many features for authoring, modifying, compiling, deploying and debugging software. Abstracting configuration necessary to piece together command line utilities in a cohesive unit may reduce time to learn a programming language, and increase developer productivity. Tight integration of development tasks may further increase productivity. For example, code can be parsed while being written, providing instant feedback on syntax errors.